﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace mc_tester
{
    public partial class TimerDialog : Form
    {
        private Port _port;
        private Device _device;

        public TimerDialog()
        {
            InitializeComponent();
        }
        //konstruktor, megkapjuk, hogy melyik portra akarunk timert állítani
        public TimerDialog(Port p, Device d)
        {
            _port = p;
            _device = d;
            InitializeComponent();
            this.Text += "("+_port.name+")";
            idoparamTextBox.Text = _port.idoparam.ToString();
            ciklikusidoparamTextBox.Text = _port.ciklikusidoparam.ToString();
            if (_port.timeractive)
            {
                leallitButton.Enabled = true;
                elinditButton.Enabled = false;
            }
            else
            {
                leallitButton.Enabled = false;
                elinditButton.Enabled = true;
            }
                
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void beallitButton_Click(object sender, EventArgs e)
        {
            if (_port.portDirection == Port.DIRECTIONS.OUT)
            {
                if (_device.activetimer < Properties.Settings.Default.MAXTIMERS)
                {
                    _port.starttimer(Convert.ToInt32(idoparamTextBox.Text), Convert.ToInt32(ciklikusidoparamTextBox.Text));
                    Close();
                    return;
                }
                else
                {
                    MessageBox.Show("Időzítők max száma " + Properties.Settings.Default.MAXTIMERS.ToString() + "! Nem lehet elindítani új időzítőt", "Timer indítás", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
                    return;
                }
            }
            else
            {
                MessageBox.Show("Csak OUT módban lehet elindítani új időzítőt", "Timer indítás", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
                return;
            }
            
        }

        private void leallitButton_Click(object sender, EventArgs e)
        {
            _port.stoptimer(Convert.ToInt32(idoparamTextBox.Text), Convert.ToInt32(ciklikusidoparamTextBox.Text));
            Close();
        }
    }
}
